package com.cskaoyan.bytestream.outs;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

/*
        public void write(int b)
        a. 将指定的字节写入此输出流
        b. write 的常规协定是：向输出流写入一个字节。
          要写入的字节是参数 b 的八个低位。b 的 24 个高位将被忽略。

        public void write(byte[] b)
          将 b.length 个字节从指定的 byte 数组写入此输出流

        public void write(byte[] b, int off,int len)
          将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流
 */
public class Demo2Write {

    public static void main(String[] args) throws IOException {

        String data = "hello, world";

        // 创建OutputStream对象
        OutputStream out = new FileOutputStream("output.txt");



        // 利用第一个write方法完成，遍历字符串，针对每一个字符，调用一次write方法
//        for (int i = 0; i < data.length(); i++) {
//            char c = data.charAt(i);
//            // public void write(int b) 一次向流中写入一个字节
//            outs.write(c);
//        }


        // 利用第二个write方法完成
        //byte[] bytes = data.getBytes();
        // public void write(byte[] b) 一次向流中写入多个字节
        //outs.write(bytes);

        // 利用第三个write方法完成
        byte[] bytes = data.getBytes();
        //public void write(byte[] b, int off,int len)
        out.write(bytes, 7, 5);


        //  最后，我们需要close关闭流
        out.close();



    }
}
